package com.etime.shycourse.dto;


import com.etime.shycourse.pojo.Chapter;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @ClassName : CourseAndCourseTypeDto  //类名
 * @Description : 课程和课程类型的临时表  //描述
 * @Author : W //作者
 * @Date: 2021/12/23  15:27
 */
@ApiModel(value = "课程和课程类型的临时表+（章节信息+课时信息）", description = "CourseAndCourseTypeDto")
public class CourseAndCourseTypeDto implements Serializable {
    private static final long serialVersionUID = 1L;

    private Integer courseid;

    private Integer coursetypeid;

    private String coursetitle;

    private String coursesubtitle;

    @ApiModelProperty(value = "0--未发布	 1--发布	 2--关闭")
    private Integer coursestate;

    @ApiModelProperty(value = "0--未审核	 1--通过	 2--未通过")
    private Integer courseaudit;

    private String courseauditdesc;

    private String coursedesc;

    private String coursegoals;

    private String courseaudiences;

    private String coursepic;

    private Date coursecreatetime;
    // 课程过期时间
    private Integer coursevaliddays;

    public Integer getCoursevaliddays() {
        return coursevaliddays;
    }

    public void setCoursevaliddays(Integer coursevaliddays) {
        this.coursevaliddays = coursevaliddays;
    }

    private Date courseupdatetime;
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal courseprice = new BigDecimal ("0.00");
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal courseoriginprice = new BigDecimal ("0.00");
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal coursecoinprice = new BigDecimal ("0.00");
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal coursecoinmaxpoint;

    @ApiModelProperty(value = "0--不开启	 1--开启")
    private Integer coursecoinused;
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private BigDecimal coursescore = new BigDecimal ("0.00");

    private Integer coursepullcount;

    @ApiModelProperty(value = "0--不推荐 1--推荐")
    private Integer courserecommended;

    @ApiModelProperty(value = "1-n	数字越大，排序越高")
    private Integer coursesort;

    private Integer coursecommentcount;

    @ApiModelProperty(value = "1---按课程购买	 2---按章购买 3---按节购买 4---按课时购买")
    private Integer coursepaytype;

    private Integer courseteacherid;

    private String courseteachername;

    private Float coursesalerpoint;

    private Float coursetecpoint;

    @ApiModelProperty(value = "1--教师	2--机构")
    private Integer coursetecorg;

    @ApiModelProperty(value = "-2 ---独立老师的课程")
    private Integer courseorgid;

    private String coursetypename;

    private String coursetypedesc;

    private Integer coursetypestate;

    private Integer courseptypeid;

    private String coursetypeicon;

    private List<Chapter> chapters;

    public List<Chapter> getChapters() {
        return chapters;
    }

    public void setChapters(List<Chapter> chapters) {
        this.chapters = chapters;
    }

    @Override
    public String toString() {
        return "CourseAndCourseTypeDto{" +
                "courseid=" + courseid +
                ", coursetypeid=" + coursetypeid +
                ", coursetitle='" + coursetitle + '\'' +
                ", coursesubtitle='" + coursesubtitle + '\'' +
                ", coursestate=" + coursestate +
                ", courseaudit=" + courseaudit +
                ", courseauditdesc='" + courseauditdesc + '\'' +
                ", coursedesc='" + coursedesc + '\'' +
                ", coursegoals='" + coursegoals + '\'' +
                ", courseaudiences='" + courseaudiences + '\'' +
                ", coursepic='" + coursepic + '\'' +
                ", coursecreatetime=" + coursecreatetime +
                ", courseupdatetime=" + courseupdatetime +
                ", courseprice=" + courseprice +
                ", courseoriginprice=" + courseoriginprice +
                ", coursecoinprice=" + coursecoinprice +
                ", coursecoinmaxpoint=" + coursecoinmaxpoint +
                ", coursecoinused=" + coursecoinused +
                ", coursescore=" + coursescore +
                ", coursepullcount=" + coursepullcount +
                ", courserecommended=" + courserecommended +
                ", coursesort=" + coursesort +
                ", coursecommentcount=" + coursecommentcount +
                ", coursepaytype=" + coursepaytype +
                ", courseteacherid=" + courseteacherid +
                ", courseteachername='" + courseteachername + '\'' +
                ", coursesalerpoint=" + coursesalerpoint +
                ", coursetecpoint=" + coursetecpoint +
                ", coursetecorg=" + coursetecorg +
                ", courseorgid=" + courseorgid +
                ", coursetypename='" + coursetypename + '\'' +
                ", coursetypedesc='" + coursetypedesc + '\'' +
                ", coursetypestate=" + coursetypestate +
                ", courseptypeid=" + courseptypeid +
                ", coursetypeicon='" + coursetypeicon + '\'' +
                '}';
    }

    public Integer getCourseid() {
        return courseid;
    }

    public void setCourseid(Integer courseid) {
        this.courseid = courseid;
    }

    public Integer getCoursetypeid() {
        return coursetypeid;
    }

    public void setCoursetypeid(Integer coursetypeid) {
        this.coursetypeid = coursetypeid;
    }

    public String getCoursetitle() {
        return coursetitle;
    }

    public void setCoursetitle(String coursetitle) {
        this.coursetitle = coursetitle;
    }

    public String getCoursesubtitle() {
        return coursesubtitle;
    }

    public void setCoursesubtitle(String coursesubtitle) {
        this.coursesubtitle = coursesubtitle;
    }

    public Integer getCoursestate() {
        return coursestate;
    }

    public void setCoursestate(Integer coursestate) {
        this.coursestate = coursestate;
    }

    public Integer getCourseaudit() {
        return courseaudit;
    }

    public void setCourseaudit(Integer courseaudit) {
        this.courseaudit = courseaudit;
    }

    public String getCourseauditdesc() {
        return courseauditdesc;
    }

    public void setCourseauditdesc(String courseauditdesc) {
        this.courseauditdesc = courseauditdesc;
    }

    public String getCoursedesc() {
        return coursedesc;
    }

    public void setCoursedesc(String coursedesc) {
        this.coursedesc = coursedesc;
    }

    public String getCoursegoals() {
        return coursegoals;
    }

    public void setCoursegoals(String coursegoals) {
        this.coursegoals = coursegoals;
    }

    public String getCourseaudiences() {
        return courseaudiences;
    }

    public void setCourseaudiences(String courseaudiences) {
        this.courseaudiences = courseaudiences;
    }

    public String getCoursepic() {
        return coursepic;
    }

    public void setCoursepic(String coursepic) {
        this.coursepic = coursepic;
    }

    public Date getCoursecreatetime() {
        return coursecreatetime;
    }

    public void setCoursecreatetime(Date coursecreatetime) {
        this.coursecreatetime = coursecreatetime;
    }

    public Date getCourseupdatetime() {
        return courseupdatetime;
    }

    public void setCourseupdatetime(Date courseupdatetime) {
        this.courseupdatetime = courseupdatetime;
    }

    public BigDecimal getCourseprice() {
        return courseprice == null ? null : courseprice.setScale (2, BigDecimal.ROUND_HALF_UP);
    }

    public void setCourseprice(BigDecimal courseprice) {
        this.courseprice = courseprice;
    }

    public BigDecimal getCourseoriginprice() {
        return courseoriginprice == null ? null : courseoriginprice.setScale (2, BigDecimal.ROUND_HALF_UP);
    }

    public void setCourseoriginprice(BigDecimal courseoriginprice) {
        this.courseoriginprice = courseoriginprice;
    }

    public BigDecimal getCoursecoinprice() {
        return coursecoinprice;
    }

    public void setCoursecoinprice(BigDecimal coursecoinprice) {
        this.coursecoinprice = coursecoinprice;
    }

    public BigDecimal getCoursecoinmaxpoint() {
        return coursecoinmaxpoint == null ? null : coursecoinmaxpoint.setScale (2, BigDecimal.ROUND_HALF_UP);
    }

    public void setCoursecoinmaxpoint(BigDecimal coursecoinmaxpoint) {
        this.coursecoinmaxpoint = coursecoinmaxpoint;
    }

    public Integer getCoursecoinused() {
        return coursecoinused;
    }

    public void setCoursecoinused(Integer coursecoinused) {
        this.coursecoinused = coursecoinused;
    }

    public BigDecimal getCoursescore() {
        return coursescore == null ? null : coursescore.setScale (2, BigDecimal.ROUND_HALF_UP);

    }

    public void setCoursescore(BigDecimal coursescore) {
        this.coursescore = coursescore;
    }

    public Integer getCoursepullcount() {
        return coursepullcount;
    }

    public void setCoursepullcount(Integer coursepullcount) {
        this.coursepullcount = coursepullcount;
    }

    public Integer getCourserecommended() {
        return courserecommended;
    }

    public void setCourserecommended(Integer courserecommended) {
        this.courserecommended = courserecommended;
    }

    public Integer getCoursesort() {
        return coursesort;
    }

    public void setCoursesort(Integer coursesort) {
        this.coursesort = coursesort;
    }

    public Integer getCoursecommentcount() {
        return coursecommentcount;
    }

    public void setCoursecommentcount(Integer coursecommentcount) {
        this.coursecommentcount = coursecommentcount;
    }

    public Integer getCoursepaytype() {
        return coursepaytype;
    }

    public void setCoursepaytype(Integer coursepaytype) {
        this.coursepaytype = coursepaytype;
    }

    public Integer getCourseteacherid() {
        return courseteacherid;
    }

    public void setCourseteacherid(Integer courseteacherid) {
        this.courseteacherid = courseteacherid;
    }

    public String getCourseteachername() {
        return courseteachername;
    }

    public void setCourseteachername(String courseteachername) {
        this.courseteachername = courseteachername;
    }

    public Float getCoursesalerpoint() {
        return coursesalerpoint;
    }

    public void setCoursesalerpoint(Float coursesalerpoint) {
        this.coursesalerpoint = coursesalerpoint;
    }

    public Float getCoursetecpoint() {
        return coursetecpoint;
    }

    public void setCoursetecpoint(Float coursetecpoint) {
        this.coursetecpoint = coursetecpoint;
    }

    public Integer getCoursetecorg() {
        return coursetecorg;
    }

    public void setCoursetecorg(Integer coursetecorg) {
        this.coursetecorg = coursetecorg;
    }

    public Integer getCourseorgid() {
        return courseorgid;
    }

    public void setCourseorgid(Integer courseorgid) {
        this.courseorgid = courseorgid;
    }

    public String getCoursetypename() {
        return coursetypename;
    }

    public void setCoursetypename(String coursetypename) {
        this.coursetypename = coursetypename;
    }

    public String getCoursetypedesc() {
        return coursetypedesc;
    }

    public void setCoursetypedesc(String coursetypedesc) {
        this.coursetypedesc = coursetypedesc;
    }

    public Integer getCoursetypestate() {
        return coursetypestate;
    }

    public void setCoursetypestate(Integer coursetypestate) {
        this.coursetypestate = coursetypestate;
    }

    public Integer getCourseptypeid() {
        return courseptypeid;
    }

    public void setCourseptypeid(Integer courseptypeid) {
        this.courseptypeid = courseptypeid;
    }

    public String getCoursetypeicon() {
        return coursetypeicon;
    }

    public void setCoursetypeicon(String coursetypeicon) {
        this.coursetypeicon = coursetypeicon;
    }
}

